<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - rio.Attr</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
/*	width: 100%;*/
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	width: 98%;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Class rio.Attr
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
			
				Attr is the basis for most of rio.  It is the class from which all apps, pages, models, and components
	are derived, though you will rarely have to use Attr directly.  Attr provides all of the functionality 
	related to attributes, bindings, dependency management, and events.
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/public_javascripts_lib_attr.js.html">attr.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class rio.Attr.">
				<caption>Class Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/rio.Attr.html#constructor">rio.Attr</a></b>()
							</div>
							<div class="description"></div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class rio.Attr.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#bind">bind</a></b>(attribute, binding, skipInitialExecution, overrideInitialOldValue)
								</div>
								<div class="description">Binds a function to an attribute.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#binding">binding</a></b>(attribute)
								</div>
								<div class="description">Returns a binding to the specified attribute or attribute path
				<br /><br />
				<i>NOTE: The most common reason for using binding is to specify the initial value of another attrAccessor with an attribute path.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.create">create</a></b>(name, extends, args)
								</div>
								<div class="description">Creates an instance of rio.Attr.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.extend">extend</a></b>(attr, extension)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#fire">fire</a></b>(eventName)
								</div>
								<div class="description">Fires an event.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.fireWhenReady">fireWhenReady</a></b>(f)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#freeze">freeze</a></b>()
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#frozen">frozen</a></b>()
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#observe">observe</a></b>(eventName, handler)
								</div>
								<div class="description">Observes an event.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#setAndReturnAfterSet">setAndReturnAfterSet</a></b>(fieldName, newValue, options)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#stopObserving">stopObserving</a></b>(eventName, handler)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.toString">toString</a></b>()
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.transaction">transaction</a></b>(t)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#unfreeze">unfreeze</a></b>()
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont"><b><a href="../symbols/rio.Attr.html#updateAttributes">updateAttributes</a></b>(attributes, options)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">rio.Attr.<b><a href="../symbols/rio.Attr.html#.updateAttributes">updateAttributes</a></b>(updates)
								</div>
								<div class="description"></div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Class Detail
				</div>
				
				<div class="fixedFont">
						<b>rio.Attr</b>()
				</div>
				
				<div class="description">
					
					<br /><i>Author: </i>Jason Tillery.
				</div>
				
				
				
				
					
					
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name="bind"> </a>
					<div class="fixedFont">
					
					
					<b>bind</b>(attribute, binding, skipInitialExecution, overrideInitialOldValue)
					
					</div>
					<div class="description">
						Binds a function to an attribute.
				<br /><br />
				<i>NOTE: The function will be called immediately with the current value of the attribute.</i>
						
						
					</div>
					
					
					
					<pre class="code">				attr.bind("attribute", function(newValue) {
					alert(newValue);
				});</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>attribute</b>
									
								</dt>
								<dd>The name of the attribute to bind</dd>
							
								<dt>
									<span class="light fixedFont">{Function}</span> <b>binding</b>
									
								</dt>
								<dd>The function to execute when the value of the attribute changes</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>skipInitialExecution</b>
									
								</dt>
								<dd>(optional) Do <b>not</b> immediately call the function with the attributes current value</dd>
							
								<dt>
									<b>overrideInitialOldValue</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="binding"> </a>
					<div class="fixedFont">
					
					
					<b>binding</b>(attribute)
					
					</div>
					<div class="description">
						Returns a binding to the specified attribute or attribute path
				<br /><br />
				<i>NOTE: The most common reason for using binding is to specify the initial value of another attrAccessor with an attribute path.</i>
						
						
					</div>
					
					
					
					<pre class="code">				attr.binding("attribute");</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>attribute</b>
									
								</dt>
								<dd>The name of the attribute to bind</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".create"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{<a href="../symbols/rio.Attr.html#constructor">rio.Attr</a>}</span>
					<span class="light">rio.Attr.</span><b>create</b>(name, extends, args)
					
					</div>
					<div class="description">
						Creates an instance of rio.Attr.
						
						
					</div>
					
					
					
					<pre class="code">		var attr = rio.Attr.create("AttrName", {
			attrAccessors: [], // list of accessors
			attrReaders: [], // list of readers
			methods: {
				initialize: function() {
					
				}
			},
			classMethods: {
				
			}
		});</pre>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>name</b>
									
								</dt>
								<dd>(optional) The name of this Attr.  Used primarily for testing reports.</dd>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/Object.html#constructor">Object</a>}</span> <b>extends</b>
									
								</dt>
								<dd>(optional) An Attr class to use as a superclass.</dd>
							
								<dt>
									<span class="light fixedFont">{<a href="../symbols/Object.html#constructor">Object</a>}</span> <b>args</b>
									
								</dt>
								<dd>(optional) The definition of the class.</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd>a new instance of type Attr</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".extend"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">rio.Attr.</span><b>extend</b>(attr, extension)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>attr</b>
									
								</dt>
								<dd></dd>
							
								<dt>
									<b>extension</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="fire"> </a>
					<div class="fixedFont">
					
					
					<b>fire</b>(eventName)
					
					</div>
					<div class="description">
						Fires an event.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>eventName</b>
									
								</dt>
								<dd>The name of the event to fire</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".fireWhenReady"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">rio.Attr.</span><b>fireWhenReady</b>(f)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>f</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="freeze"> </a>
					<div class="fixedFont">
					
					
					<b>freeze</b>()
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="frozen"> </a>
					<div class="fixedFont">
					
					
					<b>frozen</b>()
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="observe"> </a>
					<div class="fixedFont">
					
					
					<b>observe</b>(eventName, handler)
					
					</div>
					<div class="description">
						Observes an event.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>eventName</b>
									
								</dt>
								<dd>The name of the event to observe</dd>
							
								<dt>
									<span class="light fixedFont">{Function}</span> <b>handler</b>
									
								</dt>
								<dd>A function to call when the even is fired</dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="setAndReturnAfterSet"> </a>
					<div class="fixedFont">
					
					
					<b>setAndReturnAfterSet</b>(fieldName, newValue, options)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>fieldName</b>
									
								</dt>
								<dd></dd>
							
								<dt>
									<b>newValue</b>
									
								</dt>
								<dd></dd>
							
								<dt>
									<b>options</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="stopObserving"> </a>
					<div class="fixedFont">
					
					
					<b>stopObserving</b>(eventName, handler)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>eventName</b>
									
								</dt>
								<dd></dd>
							
								<dt>
									<b>handler</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".toString"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">rio.Attr.</span><b>toString</b>()
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name=".transaction"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">rio.Attr.</span><b>transaction</b>(t)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>t</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name="unfreeze"> </a>
					<div class="fixedFont">
					
					
					<b>unfreeze</b>()
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
						
						
						
						
						
						

					<hr />
				
					<a name="updateAttributes"> </a>
					<div class="fixedFont">
					
					
					<b>updateAttributes</b>(attributes, options)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>attributes</b>
									
								</dt>
								<dd></dd>
							
								<dt>
									<b>options</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					<hr />
				
					<a name=".updateAttributes"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					
					<span class="light">rio.Attr.</span><b>updateAttributes</b>(updates)
					
					</div>
					<div class="description">
						
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<b>updates</b>
									
								</dt>
								<dd></dd>
							
							</dl>
						
						
						
						
						
						
						

					
				
			
			
			<hr />
		</div>
		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a> 2.0.2 on Thu Apr 29 2010 13:53:54 GMT-0500 (CDT)
		</div>
	</body>
</html>
